home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 2000 #5 / Amiga Plus CD - 2000 - No. 5.iso / Tools / Dev / GameboyDev / GBDK / lib / mv_spr.s < prev    next >
Text File  |  1999-03-29  |  438b  |  34 lines

  1.     .include    "global.s"
  2.  
  3.     .area    _CODE
  4.  
  5.     ;; Move sprite number C at XY = DE
  6. .mv_sprite::
  7.     LD    HL,#.OAM    ; Calculate origin of sprite info
  8.     SLA    C        ; Multiply C by 4
  9.     SLA    C
  10.     LD    B,#0x00
  11.     ADD    HL,BC
  12.  
  13.     LD    A,E        ; Set Y
  14.     LD    (HL+),A
  15.  
  16.     LD    A,D        ; Set X
  17.     LD    (HL+),A
  18.     RET
  19.  
  20. _move_sprite::
  21.     PUSH    BC
  22.  
  23.     LDA    HL,4(SP)    ; Skip return address and registers
  24.     LD    C,(HL)        ; C = nb
  25.     INC    HL
  26.     LD    D,(HL)        ; D = x
  27.     INC    HL
  28.     LD    E,(HL)        ; E = y
  29.  
  30.     CALL    .mv_sprite
  31.  
  32.     POP    BC
  33.     RET
  34.